Transfinite step-indexing for termination
نویسندگان
چکیده
Step-indexed logical relations are an extremely useful technique for building operational-semantics-based models and program logics realistic, richly-typed programming languages. They have proven to be indispensable modeling features like higher-order state , which many languages support but were difficult accommodate using traditional denotational models. However, the conventional wisdom is that, because they only reasoning about finite traces of computation, (unary) step-indexed good proving safety properties “well-typed programs don’t go wrong”. There has consequently been very little work on step-indexing establish liveness properties, in particular termination. In this paper, we show that can fact used prove termination well-typed programs—even presence dynamically-allocated, shared, mutable, state—so long as one’s type system enforces disciplined use such state. Specifically, consider a language with asynchronous channels, inspired by promises JavaScript, implement communication, linearity ensure The key our approach generalize from natural number transfinite enables us compute bounds expressions compositional way. Although proposed previously, first apply
منابع مشابه
Transfinite Step-Indexing: Decoupling Concrete and Logical Steps
Step-indexing has proven to be a powerful technique for defining logical relations for languages with advanced type systems and models of expressive program logics. In both cases, the model is stratified using natural numbers to solve a recursive equation that has no naive solutions. As a result of this stratification, current models require that each unfolding of the recursive equation – each ...
متن کاملA Step-Indexing Approach to Partial Functions
We describe an ACL2 package for defining partial recursive functions that also supports efficient execution. While packages for defining partial recursive functions already exist for other theorem provers, they often require inductive definitions or recursion operators which are not available in ACL2 and they provide little, if any, support for executing the resulting definitions. We use stepin...
متن کاملTransfinite Diameter
The transfinite diameter is a way of quantifying the size of compact sets in Euclidean space. This quantity is related to the Hausdorff dimension and the Lebesgue measure, but gives a slightly different perspective on the set than either of those do. In this paper, we introduce the transfinite diameter, and outline some attempts to calculate this quantity for three sets in R. For z1, z2, . . . ...
متن کاملEpsilon substitution for transfinite induction
We apply Mints’ technique for proving the termination of the epsilon substitution method via cut-elimination to the system of Peano Arithmetic with Transfinite Induction given by Arai.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2021
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3434294